package cn.retalsystem.service;

import cn.retalsystem.bean.Room;
import cn.retalsystem.vo.RoomVo;
import com.github.pagehelper.PageHelper;
import org.springframework.data.annotation.Id;
import org.springframework.stereotype.Service;
import java.util.List;

/**
 * @Author: 官宝星
 * @Date: 2019/11/5 23:18
 * @Version 1.0
 * @描述：
 */
public interface RoomService {
    /**
     * 根据id查询房间信息
     * @param id
     * @return
     */
    public Room selectRoomById(Integer id);

    /**
     * 修改Room信息
     * @param room
     */
    public void updateRoom(Room room);

    /**
     * 查询所有房间信息和楼栋信息关联集合
     * @return
     */
    public List<RoomVo> selectAllRoomVO();

    /**
     * 通过房间名和楼栋id查询房间信息和楼栋信息关联集合,并进行分页
     * @return
     */
    public List<RoomVo> selectRoomByExampleAndPage(String rname,Integer budingId,Integer index,Integer size);

    /**
     * 根据条件查询房间信息总数
     * @param rname
     * @param budingId
     * @return
     */
    public Integer selectCountByExample(String rname,Integer budingId);

    /**
     * 查询房间总数
     * @return Integer 房间总数
     */
    public Integer selectCount();

    /**
     * 根据当前页和页面数据总数查询RoomVo
     * @param index
     * @param size
     * @return
     */
    public List<RoomVo> selectRoomVoByPage(Integer index,Integer size);

    /**
     * 根据房间id集合删除房间信息，包括与之关联的租赁信息
     * @param ids
     */
    public void delRoomById(List<Integer> ids);

    /**
     * 添加房间信息，在通过房间id添加租赁信息
     * @param room 房间信息
     * @param adminId 管理员id
     */
     void addRoom(Room room);

}
